package reflect;

import reflect.annotations.AutoRunMethod;

import java.lang.reflect.Method;

/**
 * 反射机制访问注解参数
 */
public class ReflectDemo13 {
    public static void main(String[] args) throws Exception {
        //获取Person类中sayHello方法上@AutoRunMethod注解中的参数值
        Class cls = Class.forName("reflect.Person");
        Method method = cls.getDeclaredMethod("sayHello");
        if(method.isAnnotationPresent(AutoRunMethod.class)){
            /*
                所有反射对象都支持方法:
                public Annotation getAnnotation(Class annotationClass)
                获取反射对象标志的内容上的指定注解
             */
            AutoRunMethod arm = method.getAnnotation(AutoRunMethod.class);
            int value = arm.value();//获取AutoRunMethod上value参数的值
            System.out.println("参数值:"+value);
        }
    }
}
